/* * Copyright 2014, The OpenNMS Group * * Licensed under the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. You may obtain * a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package org.opennms.newts.rest; import static org.hamcrest.CoreMatchers.equalTo; import static org.junit.Assert.assertThat; import static org.mockito.Matchers.anyCollectionOf; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; import java.util.Collection; import java.util.Collections; import javax.ws.rs.core.Response; import org.hamcrest.CoreMatchers; import org.junit.Test; import org.opennms.newts.api.Context; import org.opennms.newts.api.Resource; import org.opennms.newts.api.Results; import org.opennms.newts.api.Sample; import org.opennms.newts.api.SampleRepository; import org.opennms.newts.api.Timestamp; import com.google.common.base.Optional; import org.opennms.newts.cassandra.search.CassandraIndexer; public class SamplesResourceTest { private final SampleRepository m_repository = mock(SampleRepository.class); private final CassandraIndexer m_indexer = mock(CassandraIndexer.class); private final SamplesResource m_resource = new SamplesResource(m_repository, m_indexer); @Test public void testWriteSamples() { Response response = m_resource.writeSamples(Collections.<SampleDTO> emptyList()); assertThat(response.getStatus(), equalTo(Response.Status.CREATED.getStatusCode())); verify(m_repository).insert(anyCollectionOf(Sample.class)); } @Test public void testGetSamples() { final Results<Sample> results = new Results<>(); when( m_repository.select( eq(Context.DEFAULT_CONTEXT), eq(new Resource("localhost")), eq(Optional.of(Timestamp.fromEpochSeconds(900000000))), eq(Optional.of(Timestamp.fromEpochSeconds(900003600)))) ).thenReturn(results); assertThat( m_resource.getSamples( new Resource("localhost"), Optional.of(new TimestampParam("1998-07-09T11:00:00-0500")), Optional.of(new TimestampParam("1998-07-09T12:00:00-0500")), Optional.<String>absent()), CoreMatchers.instanceOf(Collection.class)); } }